package cn.caishen.report.service.report;


import cn.caishen.report.common.utils.LbMap;
import cn.caishen.report.domain.report.ReportUserField;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 报表用户字段Service接口
 *
 * @author LB
 * @description 报表用户字段Service接口
 * @create 2022-01-17 15:50:03
 **/
public interface ReportUserFieldService extends IService<ReportUserField> {

    /**
     * 分页查询列表
     *
     * @param page 页数
     * @param limit 条数
     * @param param 参数
     * @return PageInfo 分页列表
     */
    PageInfo<ReportUserField> getList(int page, int limit, LbMap param);

    /**
     * 查询所有列表
     *
     * @param param 参数
     * @return list 全部列表
     */
    List<ReportUserField> getAllList(LbMap param);

    /**
     * 通过编号查询
     *
     * @param primaryKey id
     * @return 报表用户字段
     */
    ReportUserField getById(String primaryKey);

    /**
     * 新增信息
     *
     * @param reportUserField reportUserField
     */
    void saveOne(ReportUserField reportUserField);

    /**
     * 修改信息
     *
     * @param reportUserField reportUserField
     */
    void update(ReportUserField reportUserField);

    /**
     * 删除信息
     *
     * @param primaryKey id
     */
    void delete(String primaryKey);

    /**
     * 更新用户自定义列
     *
     * @param reportConfigId
     * @param reportUserFieldList
     */
    void saveUserField(Integer reportConfigId, List<ReportUserField> reportUserFieldList);
}